Conversation
jsonSerialize - array_filter alterado o return de !is_null para !empty, pois a propriedade urls estava retornando com um array vazio e dava erro de "Urls: Required parameter missing (kind)." no request
…kind Update Transaction.php
|
@netojoaobatista @RedeEc Alguma previsão de merge para corrigir esse erro do array de urls vazio? |
Eu acho incrível que ainda não fizeram o merge com sua correção para essa linha. Aparentemente para env em produção, não gera o conflito, mas para a sandbox, o erro Required parameter missing (kind). continua, estou enfrentando isso nesse momento, assim como não consigo nem em sandbox, nem em produção, realizar uma transação com "capture(false)", a cobrança está sendo capturada automaticamente, como se o parametro capture() estivesse ausente, mesmo estando presente no código. |
Aqui no sandbox o |
Bom pra meu sistema não está, e meu código está como recomendado no passo a passo aqui do GH. <?php
// Configuração da loja em modo produção
$store = new Store('PV', 'TOKEN', Environment::production());
// Configuração da loja em modo sandbox
// $store = new \Rede\Store('PV', 'TOKEN', \Rede\Environment::sandbox());
// Transação que será autorizada
$transaction = (new Transaction(20.99, 'pedido' . time()))->creditCard(
'5448280000000007',
'235',
'12',
'2020',
'John Snow'
)->capture(false);
// Autoriza a transação
$transaction = (new eRede($store))->create($transaction);
if ($transaction->getReturnCode() == '00') {
printf("Transação autorizada com sucesso; tid=%s\n", $transaction->getTid());
}
//...
Mas o que acontece é que a cobrança é efetivada no cartão do cliente (testei usando um cartão válido em produção também), o certo não seria, só cobrar, depois da captura ser enviada novamente?
Por exemplo: cliente entra os dados do cartão, meu sistema dispara o codigo acima apenas para AUTORIZAR, conforme fala no manual, e depois, em outro momento eu disparo o codigo que CAPTURA/FORMALIZA A COBRANÇA? |
A implementação parece correta, parece ser algum problema interno mesmo 😕 |
Pois é... da mesma forma que a questão do Authorization Code que está sendo retornado dentro do objeto Brand, mas a classe não possui o tratamento adequado para puxar ele. Tive que fazer na mão, (not a big deal actually), mas tem esses bugs no SDK para PHP que não foram corrigidos ainda... mesmo com merge aplicado. |
|
Eu tenho um fork com algumas melhorias e também com o PIX se alguém precisar https://github.com/silbeckdevs/erede-php |
jsonSerialize - array filter changed from !is_null to !empty.
Property urls always return with empty array is throws an error Urls: Required parameter missing (kind).